// 定义所有频道的接口 一个接口就是一个函数

// 步骤
// 1 导入 定义好的 request请求函数
import request from '../utils/request'
// import store from '@/store'

// 测试token值
// console.log('token = ' + store.state.token)

// 2 定义接口函数
// 首页 获取用户选择的频道
const getUserChannelListAPI = () => {
  return request({
    method: 'GET',
    url: '/v1_0/user/channels'
    // headers: {
    //   Authorization: `Bearer ${store.state.token}`
    // }
  })
}

// 首页 获取文章列表
// timestamp = Date.now() + '' 文档要求为字符串类型
const getArticleListAPI = ({ channelId, timestamp = Date.now() + '' }) => {
  return request({
    method: 'GET',
    url: '/v1_0/articles',
    params: {
      channel_id: channelId,
      // 获取请求时间来做分页用
      // timestamp: (new Date()).getTime() + ''
      timestamp
    }
  })
}

// 首页 文章不感兴趣 删除文章
const articleDislikeAPI = ({ artId }) => {
  return request({
    url: '/v1_0/article/dislikes',
    method: 'POST',
    data: {
      target: artId
    }
    // headers: {
    //   Authorization: `Bearer ${store.state.token}` // 直接取 this.$store
    // }
  })
}

// 首页 文章举报
const articleReportsAPI = ({ artId, type, remark }) => {
  return request({
    url: '/v1_0/article/reports',
    method: 'POST',
    // headers: {
    //   Authorization: 'Bearer ' + store.state.token
    // },
    data: {
      target: artId,
      type: type,
      // 如果type是0必须穿remake，如果不是0则可传可不传
      remark: type === '0' ? remark : remark || null
    }
  })
}

// 首页 获取所有频道
const getAllChannelListAPI = () => {
  return request({
    method: 'GET',
    url: '/v1_0/channels'
  })
}
// RESTFull风格接口：  接口地址一样，请求方式不一样
// GET
// POST
// PUT 全局修改
// DELETE 删除
// PATCH 部分修改
// 等26种请求方式

// 首页 修改更新用户选择频道
const updateUserChannelListAPI = ({ channels }) => {
  return request({
    url: '/v1_0/user/channels',
    method: 'PUT',
    data: {
      channels// 数组 id seq
    }
  })
}

// 3 按需导出
export {
  getUserChannelListAPI,
  getArticleListAPI,
  articleDislikeAPI,
  articleReportsAPI,
  getAllChannelListAPI,
  updateUserChannelListAPI
}
